﻿Public Class VMGrilleCompteResultat
    Inherits VMGrilleCompte

    Protected Overrides Sub InitTitresTableContenu()
        TableContenuTampon = New DataTable
        TableContenuTampon.Columns.Add("ComptesHeaders", GetType(VMValeurCompte))
        TableContenuTampon.Rows.Add({New VMValeurCompte_TitreCompte With {.Valeur = "COMPTE TECHNIQUE VIE"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre1 With {.Valeur = "Produits"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "Primes DC"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "Provision DC ouverture"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "Produit des placements"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre1 With {.Valeur = "Charges"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "Charge des sinistres"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "Provision DC clôture"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "Frais de gestion"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "Charge des placements"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "Produit des placements transférés"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "Commission apporteur"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Resultat With {.Valeur = "Résultat technique vie"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_TitreCompte With {.Valeur = "COMPTE TECHNIQUE NON VIE"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre1 With {.Valeur = "Produits"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "Primes IT TTC"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "Provision de rente ouverture"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "PPRC ouverture"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "Produit des placements alloués"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre1 With {.Valeur = "Charges"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "Taxe d'assurance"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "Sinistres réglés"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "Provision de rente clôture"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "PPRC clôture"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "Frais Natixis"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "Commission apporteur"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Resultat With {.Valeur = "Résultat technique non vie"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_TitreCompte With {.Valeur = "COMPTE NON TECHNIQUE"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre1 With {.Valeur = "Produits"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "Résultat vie"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "Résultat non vie"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "Produit des placements alloués"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "Produit des placements (non vie)"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "Produit des placements transférés"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre1 With {.Valeur = "Charges"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "Charge des placements (non vie)"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Titre2 With {.Valeur = "Impôts sur les bénéfices et taxes"}})
        TableContenuTampon.Rows.Add({New VMValeurCompte_Resultat With {.Valeur = "Résultat"}})
        MAJTableContenu()
    End Sub

    Public Overrides Function ToString() As String
        Return "Compte de résultat"
    End Function

    Protected Overrides Sub RefreshLignes(ByVal TValeurs As DataTable, Optional ByVal RaisePropChangedEvent As Boolean = False)
        For i = 0 To Comptes.NombreAnneesProjection - 1
            'Mise à jour du compte technique Vie
            TValeurs.Rows(2)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteTechniqueVie.Resultats.PrimesDC(i)}
            TValeurs.Rows(3)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteTechniqueVie.Resultats.PmDCouv(i)}
            TValeurs.Rows(4)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteTechniqueVie.Resultats.ProduitPlacements(i)}
            TValeurs.Rows(6)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteTechniqueVie.Resultats.SinRegles(i)}
            TValeurs.Rows(7)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteTechniqueVie.Resultats.PmDCclot(i)}
            TValeurs.Rows(8)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteTechniqueVie.Resultats.Fg(i)}
            TValeurs.Rows(9)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteTechniqueVie.Resultats.ChargePlacements(i)}
            TValeurs.Rows(10)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteTechniqueVie.Resultats.ProduitPlacementsTransferes(i)}
            TValeurs.Rows(11)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteTechniqueVie.Resultats.ComApporteur(i)}
            TValeurs.Rows(12)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteTechniqueVie.Resultats.ResultatVie(i)}
            'Mise à jour du compte technique non vie
            TValeurs.Rows(15)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteTechniqueNonVie.Resultats.PrimesIT(i)}
            TValeurs.Rows(16)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteTechniqueNonVie.Resultats.PmRenteouv(i)}
            TValeurs.Rows(17)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteTechniqueNonVie.Resultats.PmPPRCouv(i)}
            TValeurs.Rows(18)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteTechniqueNonVie.Resultats.ProduitPlacementsAlloues(i)}
            TValeurs.Rows(20)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteTechniqueNonVie.Resultats.TaxeAssu(i)}
            TValeurs.Rows(21)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteTechniqueNonVie.Resultats.SinReglesIT(i)}
            TValeurs.Rows(22)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteTechniqueNonVie.Resultats.PmRenteClot(i)}
            TValeurs.Rows(23)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteTechniqueNonVie.Resultats.PmPPRCClot(i)}
            TValeurs.Rows(24)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteTechniqueNonVie.Resultats.Fg(i)}
            TValeurs.Rows(25)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteTechniqueNonVie.Resultats.ComApporteur(i)}
            TValeurs.Rows(26)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteTechniqueNonVie.Resultats.ResultatsNonVie(i)}
            'Compte non technique
            TValeurs.Rows(29)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteNonTechnique.Resultats.ResultatVie(i)}
            TValeurs.Rows(30)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteNonTechnique.Resultats.ResultatNonVie(i)}
            TValeurs.Rows(31)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteNonTechnique.Resultats.ProduitPlacementsAlloues(i)}
            TValeurs.Rows(32)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteNonTechnique.Resultats.ProduitPlacements(i)}
            TValeurs.Rows(33)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteNonTechnique.Resultats.ProduitPlacementsTransferes(i)}
            TValeurs.Rows(35)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteNonTechnique.Resultats.ChargePlacements(i)}
            TValeurs.Rows(36)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteNonTechnique.Resultats.ImpotsEtTaxes(i)}
            TValeurs.Rows(37)(CStr(i)) = New VMValeurCompte With {.Valeur = Comptes.CompteNonTechnique.Resultats.Resultat(i)}
        Next
    End Sub

End Class
